//-------------------------------------------------------------------
//	Copyright (c) 2010-2012 Zhirnov Andrey
//	This file is part of the "UXGEN" project.
//	See copyright notice in "Engine.h".
//-------------------------------------------------------------------

#ifndef _UX_PLUGIN_INTERFACE_H
#define _UX_PLUGIN_INTERFACE_H

#include <Includes.h>

namespace Engine
{

	//
	// Plugin interface
	//

	class IPlugin
	{
	public:
		// extern "C" _UX_DLL_EXPORT bool CreatePlugin(CCore *, uint, IPlugin *&);
		typedef bool (*PCreatePluginProc_t)(CCore *, uint, IPlugin *&);

		virtual void Free() = 0;
		virtual void GetPluginInfo(string &) = 0;
		virtual e_eng_plugin::type GetType() const = 0;
	};

//-------------------------------------------------------------------

}	// Engine

#endif	// _UX_PLUGIN_INTERFACE_H